package request

import "yundian/internel/app/models/cashlog"

// 查询订单提现列表
type GetOrdersCashListReq struct {
	BaseListByPlaceReq
	cashlog.CashOrderLogDb
	LoginUserId int
	IsAdmin     uint8
}
type GetOrdersCashListRes struct {
	cashlog.CashOrderLog
	UserName string `gorm:"column:user_name" json:"userName"`
}

// 订单提现
type OrdersCashReq struct {
	UserId   int                     `json:"userId" form:"userId"`
	Db       *cashlog.CashOrderLogDb `json:"data" form:"data"`
	IsAdmin  uint8
	ParentId int
	//Money         int    `json:"money" form:"money"`
	//ServiceCharge int    `json:"serviceCharge" form:"serviceCharge"`
	//Type          uint8  `json:"type" form:"type"`
	//PayeeUrl      string `json:"payeeUrl" form:"payeeUrl"`
	//UnitName      string `json:"unitName" form:"unitName"`
	//BankName      string `json:"bankName" form:"bankName"`
	//BankAccounts  string `json:"bankAccounts" form:"bankAccounts"`
}
type OrdersCashRes struct {
	Cash    int64 `gorm:"column:cash" json:"cash"`
	NotCash int64 `json:"not_cash" form:"notCash"`
}

// BaseListByPlaceReq 基础查询请求
type BaseListByPlaceReq struct {
	PageNo   int `json:"pageNo" form:"pageNo"`
	PageSize int `json:"pageSize" form:"pageSize"`
}

// DeviceListByPlaceReq 公众号获取商户列表-请求参数
type DeviceListByPlaceReq struct {
	BaseListByPlaceReq
	DeviceSn    string `json:"deviceSn" form:"deviceSn"`       // 查询条件：设备序列号
	Status      int    `json:"status" form:"status"`           // 查询条件：设备状态
	PlaceId     int    `json:"placeId" form:"placeId"`         // 查询条件：网点ID
	SharedMode  string `json:"sharedMode" form:"sharedMode"`   // 查询条件：共享模型
	DeviceOrder string `json:"deviceOrder" form:"deviceOrder"` // 查询条件：设备标识排序
	UserId      int
	IsAdmin     uint8
	IsPlace     uint8
}

// OrderListByPlaceReq 订单查询条件
type OrderListByPlaceReq struct {
	BaseListByPlaceReq
	TradeNo    string `json:"tradeNo" form:"tradeNo"`       // 查询条件：订单编号
	OutTradeNo string `json:"outTradeNo" form:"outTradeNo"` // 查询条件：订单编号
	PlaceId    int    `json:"placeId" form:"placeId"`       // 查询条件：网点名称
	DeviceSn   string `json:"deviceSn" form:"deviceSn"`     // 查询条件：设备序列号
	State      int    `json:"status" form:"status"`         // 查询条件：状态
	OrderFrom  string `json:"orderFrom" form:"orderFrom"`   // 查询条件：订单来源
	SharedMode string `json:"sharedMode" form:"sharedMode"` // 查询条件：共享模式
	PlaceType  string `json:"placeType" form:"placeType"`   // 查询条件：共享模式

	LendBegin   string `json:"lendBegin" form:"lendBegin"`     // 查询条件：
	LendEnd     string `json:"lendEnd" form:"lendEnd"`         // 查询条件：
	LoginUserId int    `json:"loginUserId" form:"loginUserId"` // 查询条件：当前登录的用户ID
	IsAdmin     uint8  `json:"isAdmin" form:"isAdmin"`         // 角色类型 1:管理员 2:运营商 3:代理、商户 4:员工  5:合伙人
	IsDraw      uint8  `json:"isDraw" form:"isDraw"`           // 是否奖励
}

type IncomeListReq struct {
	BaseListByPlaceReq
	UserId int    `json:"userId" form:"userId"`
	Phone  string `json:"phone" form:"phone"`
	Days   int    `json:"days" form:"days"` // 天数
}

type AgentIncomeListReq struct {
	BaseListByPlaceReq
	SharedMode string `json:"sharedMode" form:"sharedMode"` // 查询条件：共享模式
	LendBegin  string `json:"lendBegin" form:"lendBegin"`   // 查询条件：
	LendEnd    string `json:"lendEnd" form:"lendEnd"`       // 查询条件：
	IsDraw     uint8  `json:"isDraw" form:"isDraw"`         // 是否奖励
	IsAdmin    uint8  `json:"isAdmin" form:"isAdmin"`       // 角色类型 1:管理员 2:运营商 3:代理、商户 4:员工  5:合伙人
}

// 商户的下级商户
type PlaceListByPlaceReq struct {
	BaseListByPlaceReq
	UserId    int    `json:"userId" form:"userId"`
	Type      string `json:"type" form:"type"`
	PlaceName string `json:"placeName" form:"placeName"`
	Name      string `json:"name" form:"name"`
	Phone     string `json:"phone" form:"phone"`
}

// 代理商下级商户收益排行
type PlaceIncomeRankByAgent struct {
	PageNo   int `json:"pageNo" form:"pageNo"`
	PageSize int `json:"pageSize" form:"pageSize"`
	Day      int `json:"day" form:"day"`
}

//提现提交二维码
type QRCodeWithdrawalReq struct {
	PictureUrl   string `json:"pictureUrl"`   //图片路径
	Money        int64  `json:"money"`        //申请金额-单位分
	TransferType uint8  `json:"transferType"` //转帐类型 1付款到零钱 2付款到银行卡
	OperateNote  string `json:"operateNote"`  // 转帐说明
	AppId        string `json:"appId"`
	//ReceivingAccount string `json:"receiving_account"` //收款帐号
}

type AddBillWithdrawalReq struct {
	UserId        int    `json:"userId"`
	Money         int64  `json:"money"`         // 申请金额-单位分
	TransferMoney int64  `json:"transferMoney"` // 转帐金额-单位分
	ServiceCharge uint8  `json:"serviceCharge"` // 转帐手续费-%
	OperateNote   string `json:"operateNote"`   // 转帐说明
}
